package 抽象类;

public abstract class Animal {
    //抽象类包含成员变量和常量
    private int age=20;
    private final String city="北京";

    //抽象类中可以有构造方法，不能直接实例化，可通过多态方式实例化，用于子类访问父类数据的初始化
    public Animal(String name, int age){};

    public Animal(int age){
        this.age=age;
    }

    public void show(){
        age=40;
        System.out.println(age);
        //常量不能被赋值
        //        city="西安";

        System.out.println(city);
    }
    /*抽象类中包含成员方法
    可以由抽象方法：限定子类必须完成父类的某些动作
    可以有非抽象方法：用于提高代码的复用性
     */
    public abstract void eat();

}
